\hypertarget{class_a_s_t_checker}{\section{A\+S\+T\+Checker Class Reference}
\label{class_a_s_t_checker}\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}}
}


A\+S\+T Checker.  




{\ttfamily \#include $<$A\+S\+T\+Checker.\+h$>$}

Inheritance diagram for A\+S\+T\+Checker\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_a_s_t_checker}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_a_s_t_checker_a7ac2cea7b2c7596b39fb4ff300443024}{A\+S\+T\+Checker} (\hyperlink{class_symbol_table}{Symbol\+Table} $\ast$\hyperlink{class_a_s_t_checker_adf30345557cdf176680a96e9f2ca48e5}{symb\+Tab})
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hyperlink{class_a_s_t_checker_ab5c97dad9934f7834131e7fbcf6eb638}{$\sim$\+A\+S\+T\+Checker} ()
\item 
void \hyperlink{class_a_s_t_checker_aa62e25e4cd0360c4f7981b959954c1ba}{Visit\+Program} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Program node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a4c56fd6639346605e8e1eb9e52518b8e}{Visit\+Name} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Name node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a7bcb063016bbe9c07483881d6d6008ed}{Visit\+Variable} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Variable node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a6ebd363a8d5934e719d0dc3549fedeb5}{Visit\+Rules} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Rules node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_af032fe1e0b55146c330754a0c658905d}{Visit\+Rules\+Set} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Rules Set node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a1f9a61088fc36a8b33bbc8ab547d3607}{Visit\+Rule} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Rule node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_abb72eed102e85ccdde8e9e1485eb2051}{Visit\+Condition} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Condition node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a306c7a434067bbc6aedd15070ccd9a58}{Visit\+Logic\+Operator} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Logic Operator node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_aa63879d28d44b5d746b4755d7c3dbd36}{Visit\+Internal\+Condition} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Internal Condition node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a760b8d7fdd783b97046df079947c5979}{Visit\+Comparation\+Operator} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Comparation Operator node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a93a0768eb5e3699b3152c749f77bc13d}{Visit\+Arithmetic\+Operator} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Arithmetic Operator node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a84309866bec4ef78ecd72f9e906d1773}{Visit\+Arithmetic\+Expression} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Arithmetic Expression node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_ae81f271e42cb44121f7a88116fedc5ea}{Visit\+Action} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Action node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_aa5b4cbd760ab2d30a6527c19e8012d75}{Visit\+Command} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Commands node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a5265bbdfe51b8f581e2b6166ac461fd1}{Visit\+Cmd} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Cmd node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_ab959f9523645e91336f5ea64c4207d3a}{Visit\+Assignment} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Assignment node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a20f1199c7d648f93b22f4715b4a64794}{Visit\+Read\+Sensor} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Read Sensor node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a4233ebe723a185123a7690212d132e2e}{Visit\+Write\+Actuator} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Write Actuator node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a60e1e0eff0a188656128de8588c32a25}{Visit\+Identifier} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Identifier node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a60c49f35c9347ba521ce2dd4812c43b6}{Visit\+Number} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Number node. \end{DoxyCompactList}\item 
void \hyperlink{class_a_s_t_checker_a21ffab1c85514df09450c254d15cd28b}{Visit\+Message} (\hyperlink{class_a_s_t_node}{A\+S\+T\+Node} $\ast$node)
\begin{DoxyCompactList}\small\item\em visit a Message node. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_symbol_table}{Symbol\+Table} $\ast$ \hyperlink{class_a_s_t_checker_adf30345557cdf176680a96e9f2ca48e5}{symb\+Tab}
\begin{DoxyCompactList}\small\item\em symbol table \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A\+S\+T Checker. 

Perform type checking and build a symbol table. \begin{DoxyAuthor}{Author}
Caio Arce Nishibe (\href{mailto:caionishibe@gmail.com}{\tt caionishibe@gmail.\+com}) 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
August, 2014 
\end{DoxyDate}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_a_s_t_checker_a7ac2cea7b2c7596b39fb4ff300443024}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{A\+S\+T\+Checker}]{\setlength{\rightskip}{0pt plus 5cm}A\+S\+T\+Checker\+::\+A\+S\+T\+Checker (
\begin{DoxyParamCaption}
\item[{{\bf Symbol\+Table} $\ast$}]{symb\+Tab}
\end{DoxyParamCaption}
)}}\label{class_a_s_t_checker_a7ac2cea7b2c7596b39fb4ff300443024}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em symb\+Tab} & pointer to the symbol table \\
\hline
\end{DoxyParams}
\hypertarget{class_a_s_t_checker_ab5c97dad9934f7834131e7fbcf6eb638}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!````~A\+S\+T\+Checker@{$\sim$\+A\+S\+T\+Checker}}
\index{````~A\+S\+T\+Checker@{$\sim$\+A\+S\+T\+Checker}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{$\sim$\+A\+S\+T\+Checker}]{\setlength{\rightskip}{0pt plus 5cm}A\+S\+T\+Checker\+::$\sim$\+A\+S\+T\+Checker (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_a_s_t_checker_ab5c97dad9934f7834131e7fbcf6eb638}


\subsection{Member Function Documentation}
\hypertarget{class_a_s_t_checker_ae81f271e42cb44121f7a88116fedc5ea}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Action@{Visit\+Action}}
\index{Visit\+Action@{Visit\+Action}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Action}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Action (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_ae81f271e42cb44121f7a88116fedc5ea}


visit a Action node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_afb48e355eff12958512a9fb73e055678}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a84309866bec4ef78ecd72f9e906d1773}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Arithmetic\+Expression@{Visit\+Arithmetic\+Expression}}
\index{Visit\+Arithmetic\+Expression@{Visit\+Arithmetic\+Expression}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Arithmetic\+Expression}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Arithmetic\+Expression (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a84309866bec4ef78ecd72f9e906d1773}


visit a Arithmetic Expression node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a2a3c962f35fa5899e25517bc18011274}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a93a0768eb5e3699b3152c749f77bc13d}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Arithmetic\+Operator@{Visit\+Arithmetic\+Operator}}
\index{Visit\+Arithmetic\+Operator@{Visit\+Arithmetic\+Operator}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Arithmetic\+Operator}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Arithmetic\+Operator (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a93a0768eb5e3699b3152c749f77bc13d}


visit a Arithmetic Operator node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_ac60e479891f68b06183c58f8584d8bcd}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_ab959f9523645e91336f5ea64c4207d3a}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Assignment@{Visit\+Assignment}}
\index{Visit\+Assignment@{Visit\+Assignment}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Assignment}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Assignment (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_ab959f9523645e91336f5ea64c4207d3a}


visit a Assignment node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a09f419f349073c475f3fce20039972d1}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a5265bbdfe51b8f581e2b6166ac461fd1}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Cmd@{Visit\+Cmd}}
\index{Visit\+Cmd@{Visit\+Cmd}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Cmd}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Cmd (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a5265bbdfe51b8f581e2b6166ac461fd1}


visit a Cmd node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_af2f84ff7ad35664db206b2be623820c1}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_aa5b4cbd760ab2d30a6527c19e8012d75}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Command@{Visit\+Command}}
\index{Visit\+Command@{Visit\+Command}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Command}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Command (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_aa5b4cbd760ab2d30a6527c19e8012d75}


visit a Commands node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a198cd01f71a89aa4f1b941ceb618cb1c}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a760b8d7fdd783b97046df079947c5979}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Comparation\+Operator@{Visit\+Comparation\+Operator}}
\index{Visit\+Comparation\+Operator@{Visit\+Comparation\+Operator}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Comparation\+Operator}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Comparation\+Operator (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a760b8d7fdd783b97046df079947c5979}


visit a Comparation Operator node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a452639e59473aec73812d0b7f8b2f14d}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_abb72eed102e85ccdde8e9e1485eb2051}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Condition@{Visit\+Condition}}
\index{Visit\+Condition@{Visit\+Condition}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Condition}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Condition (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_abb72eed102e85ccdde8e9e1485eb2051}


visit a Condition node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_abf1444f208c17bf4136a2f31156548c1}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a60e1e0eff0a188656128de8588c32a25}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Identifier@{Visit\+Identifier}}
\index{Visit\+Identifier@{Visit\+Identifier}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Identifier}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Identifier (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a60e1e0eff0a188656128de8588c32a25}


visit a Identifier node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_aea34c3f0bdcd9ac4ac2b936561107e94}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_aa63879d28d44b5d746b4755d7c3dbd36}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Internal\+Condition@{Visit\+Internal\+Condition}}
\index{Visit\+Internal\+Condition@{Visit\+Internal\+Condition}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Internal\+Condition}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Internal\+Condition (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_aa63879d28d44b5d746b4755d7c3dbd36}


visit a Internal Condition node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a51f3f6ca2fee198d2bbe735b55a6af4b}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a306c7a434067bbc6aedd15070ccd9a58}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Logic\+Operator@{Visit\+Logic\+Operator}}
\index{Visit\+Logic\+Operator@{Visit\+Logic\+Operator}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Logic\+Operator}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Logic\+Operator (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a306c7a434067bbc6aedd15070ccd9a58}


visit a Logic Operator node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a50319511442d9f6dcd3e1004d8cfcad9}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a21ffab1c85514df09450c254d15cd28b}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Message@{Visit\+Message}}
\index{Visit\+Message@{Visit\+Message}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Message}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Message (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a21ffab1c85514df09450c254d15cd28b}


visit a Message node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a13d47fe96355953f377482213e9ec2b2}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a4c56fd6639346605e8e1eb9e52518b8e}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Name@{Visit\+Name}}
\index{Visit\+Name@{Visit\+Name}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Name}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Name (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a4c56fd6639346605e8e1eb9e52518b8e}


visit a Name node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_af731d9fdf691ab6829fb0dbb1fd5d7cd}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a60c49f35c9347ba521ce2dd4812c43b6}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Number@{Visit\+Number}}
\index{Visit\+Number@{Visit\+Number}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Number}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Number (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a60c49f35c9347ba521ce2dd4812c43b6}


visit a Number node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a5506da11bbd7579b56ada2561e278377}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_aa62e25e4cd0360c4f7981b959954c1ba}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Program@{Visit\+Program}}
\index{Visit\+Program@{Visit\+Program}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Program}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Program (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_aa62e25e4cd0360c4f7981b959954c1ba}


visit a Program node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_ae7fbb5a13c0f5e61463c1d51c739967a}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a20f1199c7d648f93b22f4715b4a64794}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Read\+Sensor@{Visit\+Read\+Sensor}}
\index{Visit\+Read\+Sensor@{Visit\+Read\+Sensor}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Read\+Sensor}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Read\+Sensor (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a20f1199c7d648f93b22f4715b4a64794}


visit a Read Sensor node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_ae5864199e016b47cf6f4c5282d054e75}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a1f9a61088fc36a8b33bbc8ab547d3607}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Rule@{Visit\+Rule}}
\index{Visit\+Rule@{Visit\+Rule}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Rule}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Rule (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a1f9a61088fc36a8b33bbc8ab547d3607}


visit a Rule node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_ade17c331d57ecf5dc71c21bfa9ce7fa7}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a6ebd363a8d5934e719d0dc3549fedeb5}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Rules@{Visit\+Rules}}
\index{Visit\+Rules@{Visit\+Rules}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Rules}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Rules (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a6ebd363a8d5934e719d0dc3549fedeb5}


visit a Rules node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a5f7f2e181f597bf70307d724caf94116}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_af032fe1e0b55146c330754a0c658905d}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Rules\+Set@{Visit\+Rules\+Set}}
\index{Visit\+Rules\+Set@{Visit\+Rules\+Set}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Rules\+Set}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Rules\+Set (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_af032fe1e0b55146c330754a0c658905d}


visit a Rules Set node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_ac0f5f072db3f2a2f05c90266bc93eecd}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a7bcb063016bbe9c07483881d6d6008ed}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Variable@{Visit\+Variable}}
\index{Visit\+Variable@{Visit\+Variable}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Variable}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Variable (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a7bcb063016bbe9c07483881d6d6008ed}


visit a Variable node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_aee0d0d7cea0b40de09e59ea1fa2ba175}{I\+Visitor}.

\hypertarget{class_a_s_t_checker_a4233ebe723a185123a7690212d132e2e}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!Visit\+Write\+Actuator@{Visit\+Write\+Actuator}}
\index{Visit\+Write\+Actuator@{Visit\+Write\+Actuator}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{Visit\+Write\+Actuator}]{\setlength{\rightskip}{0pt plus 5cm}void A\+S\+T\+Checker\+::\+Visit\+Write\+Actuator (
\begin{DoxyParamCaption}
\item[{{\bf A\+S\+T\+Node} $\ast$}]{node}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_a_s_t_checker_a4233ebe723a185123a7690212d132e2e}


visit a Write Actuator node. 


\begin{DoxyParams}{Parameters}
{\em node} & node to be visited. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_i_visitor_a603440d2064b5614ea96626f76ad7b21}{I\+Visitor}.



\subsection{Member Data Documentation}
\hypertarget{class_a_s_t_checker_adf30345557cdf176680a96e9f2ca48e5}{\index{A\+S\+T\+Checker@{A\+S\+T\+Checker}!symb\+Tab@{symb\+Tab}}
\index{symb\+Tab@{symb\+Tab}!A\+S\+T\+Checker@{A\+S\+T\+Checker}}
\subsubsection[{symb\+Tab}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Symbol\+Table}$\ast$ A\+S\+T\+Checker\+::symb\+Tab\hspace{0.3cm}{\ttfamily [private]}}}\label{class_a_s_t_checker_adf30345557cdf176680a96e9f2ca48e5}


symbol table 



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
C\+:/\+Users/\+Caio/\+Dropbox/\+Mestrado/agents-\/language/\+Compiladores/\+Compiladores/\hyperlink{_a_s_t_checker_8h}{A\+S\+T\+Checker.\+h}\item 
C\+:/\+Users/\+Caio/\+Dropbox/\+Mestrado/agents-\/language/\+Compiladores/\+Compiladores/\hyperlink{_a_s_t_checker_8cpp}{A\+S\+T\+Checker.\+cpp}\end{DoxyCompactItemize}
